IF exists(SELECT * FROM dbo.sysobjects WHERE name='vulBeslissingen' AND xtype='P') 
BEGIN
	DROP PROCEDURE vulBeslissingen
END
GO

CREATE    procedure vulBeslissingen(@schooljaar varchar(4))
as

---------------------------
-- Overbrengen leerlingen
---------------------------

--execute studiegegevens..toevoegenLlnAlleGestarteLln
--execute studiegegevens..toevoegenHuidigeAdministratieveGegevens

----------------------------
-- Overbrengen beslissingen
----------------------------
-- Toevoegen records: elke huidge leerling krijgt een record.

insert into studiegegevens..beslis(inschrijvingsNr,klas,jaar)
select distinct l.inschrijvingsNr,l.klas,@schooljaar
from leerlingen..leerlingen as l
      left join studiegegevens..beslis as b
      on b.inschrijvingsNr = l.inschrijvingsNr
	and b.jaar = @schooljaar
where b.inschrijvingsNr is null

-- Pas de records aan

update studiegegevens..beslis
set klas = l.klas,
     adviescode = r.adviesCode ,
	attestcode = r.attestCode,
         zittijd=r.zittijd
from del_beslis as r 
        left join studiegegevens..beslis as b
    	on r.inschrijvingsNr = b.inschrijvingsNr
		and b.jaar = @schooljaar 
	left join leerlingen..leerlingen as l
                on r.inschrijvingsNr = l.inschrijvingsNr
-------------------------------
-- Overbrengen waarschuwingen
-------------------------------

insert into studiegegevens..resultaatWaarschuwing(inschrijvingsNr,jaar,klas,vak)
select distinct r.inschrijvingsNr,@schooljaar,l.klas,r.vak
from del_waarschuwing as r
      left join studiegegevens..resultaatWaarschuwing as w
      on r.inschrijvingsNr = w.inschrijvingsNr
	and r.vak = w.vak
	 and w.jaar = @schooljaar
	left join leerlingen..leerlingen as l
	on r.inschrijvingsNr = l.inschrijvingsNr
where w.inschrijvingsNr is null 

delete studiegegevens..resultaatWaarschuwing
from studiegegevens..resultaatWaarschuwing as w
left join  del_waarschuwing as r
      on r.inschrijvingsNr = w.inschrijvingsNr
	and r.vak = w.vak
	  and w.jaar = @schooljaar
where r.inschrijvingsNr is null and w.jaar=@schooljaar

----------------------
-- Overbrengen taken
----------------------
insert into studiegegevens..resultaatTaak(inschrijvingsNr,jaar,klas,vak)
select distinct r.inschrijvingsNr,@schooljaar,l.klas,r.vak
from del_taak as r
      left join studiegegevens..resultaatTaak as w
      on r.inschrijvingsNr = w.inschrijvingsNr
	and r.vak = w.vak
	 and w.jaar = @schooljaar
	left join leerlingen..leerlingen as l
	on r.inschrijvingsNr = l.inschrijvingsNr
where w.inschrijvingsNr is null 

delete studiegegevens..resultaatTaak
from studiegegevens..resultaatTaak as w
left join  del_taak as r
      on r.inschrijvingsNr = w.inschrijvingsNr
	and r.vak = w.vak
	  and w.jaar = @schooljaar
where r.inschrijvingsNr is null and w.jaar=@schooljaar


-----------------------------------
-- Overbrengen bijkomende proeven
-----------------------------------
insert into studiegegevens..resultaatBijkomend(inschrijvingsNr,jaar,klas,vak)
select distinct r.inschrijvingsNr,@schooljaar,l.klas,r.vak
from del_bijkomend as r
      left join studiegegevens..resultaatBijkomend as w
      on r.inschrijvingsNr = w.inschrijvingsNr
	and r.vak = w.vak
	 and w.jaar = @schooljaar
	left join leerlingen..leerlingen as l
	on r.inschrijvingsNr = l.inschrijvingsNr
where w.inschrijvingsNr is null

delete studiegegevens..resultaatBijkomend
from studiegegevens..resultaatBijkomend as w
left join  del_bijkomend as r
      on r.inschrijvingsNr = w.inschrijvingsNr
	and r.vak = w.vak
	  and w.jaar = @schooljaar
where r.inschrijvingsNr is null and w.jaar=@schooljaar

---------------------------
-- Overbrengen taakMetTest
---------------------------
insert into studiegegevens..resultaatTaakMetTest(inschrijvingsNr,jaar,klas,vak)
select distinct r.inschrijvingsNr,@schooljaar,l.klas,r.vak
from del_taakMetTest as r
      left join studiegegevens..resultaatTaakMetTest as w
      on r.inschrijvingsNr = w.inschrijvingsNr
	and r.vak = w.vak
	 and w.jaar = @schooljaar
	left join leerlingen..leerlingen as l
	on r.inschrijvingsNr = l.inschrijvingsNr
where w.inschrijvingsNr is null

delete studiegegevens..resultaatTaakMetTest
from studiegegevens..resultaatTaakMetTest as w
left join  del_taakMetTest as r
      on r.inschrijvingsNr = w.inschrijvingsNr
	and r.vak = w.vak
	  and w.jaar = @schooljaar
where r.inschrijvingsNr is null and w.jaar=@schooljaar

-----------------------
-- Overbrengen notulen
-----------------------
-- Toevoegen records

insert into studiegegevens..notulen(inschrijvingsNr,jaar)
select distinct n.inschrijvingsNr,@schooljaar
from del_notulen as n
      left join studiegegevens..notulen as sn
      on n.inschrijvingsNr = sn.inschrijvingsNr
	and sn.jaar = @schooljaar
where sn.inschrijvingsNr is null

-- Pas de records aan

update studiegegevens..notulen
set notuleTekst = n.notuleTekst,
    klas = l.klas
from del_notulen as n
        left join studiegegevens..notulen as sn
    	on n.inschrijvingsNr = sn.inschrijvingsNr
	and sn.jaar = @schooljaar
	left join leerlingen..leerlingen as l
	on l.inschrijvingsNr = n.inschrijvingsNr

-----------------------
-- Overbrengen amendementen
-----------------------
-- Toevoegen records

insert into studiegegevens..amendement(inschrijvingsNr,jaar)
select distinct n.inschrijvingsNr,@schooljaar
from del_amendement as n
      left join studiegegevens..amendement as sn
      on n.inschrijvingsNr = sn.inschrijvingsNr
	and sn.jaar = @schooljaar
where sn.inschrijvingsNr is null

-- Pas de records aan

update studiegegevens..amendement
set amendementTekst = n.amendementTekst,
    klas = l.klas
from del_amendement as n
        left join studiegegevens..amendement as sn
    	on n.inschrijvingsNr = sn.inschrijvingsNr
	and sn.jaar = @schooljaar
	left join leerlingen..leerlingen as l
	on l.inschrijvingsNr = n.inschrijvingsNr